本文介绍一下华为BGP的13条选路原则,附上示例。
Prefer-value (越大越好)
首选值,数值越大越优先,本地有效。
Local-pref (越大越好)
本地优先级,数值越大越优先,可传递给IBGP邻居,如果没有配置默认为100
本地始发
本地生成路由优先,aggregate手工生成聚合路由>summary automatic自动聚合路由>network 命令宣告路由>import-route引入的路由。
如上图,如果R1,R2都将10.1.12.0/24宣告进BGP的话,R2能收到R1发过来的10.1.12.0的路由,prefer-value和local-preference都一样,但是本地发起的优先,所以bgp表中自己宣告的路由为最优路径。
As-path (越短越好)
As-path最短的路由(单个AS计数为1)。AS_CONFED_SEQUENCE和AS_CONFED_SET(联盟内部AS号)不计入as-path长度。AS_SET长度计为1。(此条选路法则可以用命令忽略: bestroute as-path-ignore)
上图左侧路径路由传递过来as-path为200, 100 长度为2,右侧传递过来as-path为400, 长度为1。优选右侧传递过来的路由为最优路径。
Origin(i>e>?)
IGP>EGP>Incomplete
Med (越小越好)
数值越小越优先,默认为0。(bestroute med-none-as-maximum可以将med默认值改到最大4294967295)默认只比较as-path中最近一个as号相同的路由,否则忽略此条。
compare-different-as-med命令后,强制比较不同as的路由med。
bestroute med-confederation,只比较as-path只包含联盟内部as且最近一个联盟内部as号相同的路由的med。
deterministic-med,按相同最近AS号的先比,消除按接收顺序两两比较med对比较结果的影响。
as-path med type(第7条选路法则)router id
200 100 0 IBGP 1.1.1.1 (配了之后)Best
200 300 100 EBGP 5.5.5.5
200 100 100 EBGP 2.2.2.2 没配deterministic-med之前最优
EBGP>IBGP
ebgp>ibgp>localcross路由>remotecross路由
IGP cost for next-hop (越小越好)
下一跳igp的metric最小的路由
是否支持负载均衡(maximumload-balance)
前8条一样,且as-path完全相同(都是聚合路由或都不是),如果配置了多路径负载均衡的话,进行负载均衡(这里默认IBGP和EBGP路由都参与负载均衡)
Cluster-list (越短越好)
每一个cluster-id计数为1,长度最小的优先。
Originator-id (越小越好)
as外部路由,originator-id就是边界路由器5和6,这里虽然邻居R3路由器ID小,但是由于originator-id是4那边小,所以选择右侧过来的路由为最优。
Router-id(越小越好)
Peer ip address (越小越好)
如图,下方路由器与上面路由器的2个地址10.1.12.2和10.1.22.2分别建立2个邻居,2个链路igp开销也相同,由于这2个邻居其实是同一个路由器,所以路由器id一样,至此前面所有的法则都无法打破僵局,最终只能根据建邻居地址越低越优先,选择了10.1.12.2的邻居关系发来的BGP路由。
No comments
Comments feed for this article